package com.koron.operation.dispatch.bean;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
    * 事故跳闸记录
    */
@Data
public class EquipmentAccidentBean extends EquipmentBaseBean implements Serializable {
    /**
    * 主键
    */
    @ApiModelProperty(value="主键")
    private String id;

    @javax.persistence.Transient
    @ApiModelProperty(value="停电时长（小时）")
    private long duration;

    /**
    * 设备管理单位ID
    */
    @ApiModelProperty(value="设备管理单位ID")
    private String deptManage;

    /**
    * 设备管理单位名称
    */
    @ApiModelProperty(value="设备管理单位名称")
    private String deptManageName;

    /**
    * 设备ID
    */
    @ApiModelProperty(value="设备ID")
    private String equipmentId;

    /**
    * 设备名称
    */
    @ApiModelProperty(value="设备名称")
    private String equipmentName;

    /**
    * 主要设备类型 数据字典（dispatch_type）:主变TRAN、线路LINE、机组UNIT
    */
    @ApiModelProperty(value="主要设备类型 数据字典（dispatch_type）:主变TRAN、线路LINE、机组UNIT")
    private String equipmentType;

    /**
    * 电压等级 数据字典（dispatch_voltage_grade）:A 500kv、B 200kv、 C110kv、 D.........
    */
    @ApiModelProperty(value="电压等级 数据字典（dispatch_voltage_grade）:A 500kv、B 200kv、 C110kv、 D.........")
    private String voltageGrade;

    /**
    * 检修类型 数据字典（dipatch_overhaul_type）:A 故障检修、B 计划检修、C正常维护、D大修
    */
    @ApiModelProperty(value="检修类型 数据字典（dipatch_overhaul_type）:A 故障检修、B 计划检修、C正常维护、D大修")
    private String overhaulType;

    /**
    * 开始时间
    */
    @JsonFormat(shape = JsonFormat.Shape.STRING,pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value="开始时间")
    private Date startTime;

    /**
    * 结束时间
    */
    @JsonFormat(shape = JsonFormat.Shape.STRING,pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value="结束时间")
    private Date endTime;

    /**
    * 保护动作
    */
    @ApiModelProperty(value="保护动作")
    private String protections;

    /**
    * 事故原因
    */
    @ApiModelProperty(value="事故原因")
    private String accidentReason;

    /**
    * 检查结果
    */
    @ApiModelProperty(value="检查结果")
    private String inspectRes;

    /**
    * 送电情况
    */
    @ApiModelProperty(value="送电情况")
    private String sendElecticMsg;


    @javax.persistence.Transient
    @ApiModelProperty(value="受影响线路")
    private List<AffectedLineBean> det;

    @javax.persistence.Transient
    @ApiModelProperty(value="受影响线路str")
    private String detstr;

    private static final long serialVersionUID = 1L;
}
